/* Modelo de reportes aqui se realizan todas las consultas 
 Creado por Carlos Pastelin Morales 
 29/12/2014 */
package Modelo;

import Controlador.Conexion;
import Vistas.Interface;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.table.DefaultTableModel;
/**
 *
 * @author CarlosLap
 */
public class Reportes {
   private Conexion con;
    private ResultSet rs;
    public Reportes() {} 
    public void estructuraReporte(DefaultTableModel modelo){
         modelo.addColumn("Num.Nota");
         modelo.addColumn("Producto");
         modelo.addColumn("Precio"); 
         modelo.addColumn("Caducidad");
         modelo.addColumn("Fecha");
         modelo.addColumn("Usuario");
  }  
    public ResultSet Todaslasventas(){
       try {
                // se hace la conexion con la base de datos
                con = new Conexion();
                //sentencia sql para extraer los datos del usuario insertado
               String sql ="SELECT * FROM vendidos";
               rs = con.Consulta(sql);
                // se obtienen los datos de la consulta    
            } catch (ClassNotFoundException ex) {
                Logger.getLogger(Interface.class.getName()).log(Level.SEVERE, null, ex);
            } catch (SQLException ex) {
                Logger.getLogger(Interface.class.getName()).log(Level.SEVERE, null, ex);
            } catch (InstantiationException ex) {
                Logger.getLogger(Interface.class.getName()).log(Level.SEVERE, null, ex);
            } catch (IllegalAccessException ex) {
                Logger.getLogger(Interface.class.getName()).log(Level.SEVERE, null, ex);
            }
  return rs; 
   }
 public ResultSet buscaventauser(String user){
       try {
                // se hace la conexion con la base de datos
                con = new Conexion();
                //sentencia sql para extraer los datos del usuario insertado
               String sql= "SELECT * FROM usuarios WHERE user = '"+user+"'";
               rs = con.Consulta(sql);
                // se obtienen los datos de la consulta    
            } catch (ClassNotFoundException ex) {
                Logger.getLogger(Interface.class.getName()).log(Level.SEVERE, null, ex);
            } catch (SQLException ex) {
                Logger.getLogger(Interface.class.getName()).log(Level.SEVERE, null, ex);
            } catch (InstantiationException ex) {
                Logger.getLogger(Interface.class.getName()).log(Level.SEVERE, null, ex);
            } catch (IllegalAccessException ex) {
                Logger.getLogger(Interface.class.getName()).log(Level.SEVERE, null, ex);
            }
  return rs; 
   }
 public ResultSet buscaventafecha(String fecha,String ID,String fecha2){
       try {
                // se hace la conexion con la base de datos
                con = new Conexion();
               if (ID.equals("")){ 
                //sentencia sql para extraer los datos del usuario insertado
               if (fecha2.equals("")){
               String sql ="SELECT * FROM vendidos WHERE (cast(fecha as DATE)) = '"+fecha+"'";
               rs = con.Consulta(sql);
               }else{
               String sql ="SELECT * FROM vendidos WHERE (cast(fecha as DATE)) >= '"+fecha+"' AND (cast(fecha as DATE)) <= '"+fecha2+"'";
               rs = con.Consulta(sql);
               }
               }else{     
                if (fecha2.equals("")){
                 String sql ="SELECT * FROM vendidos WHERE (cast(fecha as DATE)) = '"+fecha+"' AND Id_usuario = '"+ID+"'";
               rs = con.Consulta(sql);
                }
                else{
                 String sql ="SELECT * FROM vendidos WHERE (cast(fecha as DATE)) >= '"+fecha+"' AND (cast(fecha as DATE)) <= '"+fecha2+"' AND Id_usuario = '"+ID+"'";
               rs = con.Consulta(sql);
                }
               }    
            } catch (ClassNotFoundException ex) {
                Logger.getLogger(Interface.class.getName()).log(Level.SEVERE, null, ex);
            } catch (SQLException ex) {
                Logger.getLogger(Interface.class.getName()).log(Level.SEVERE, null, ex);
            } catch (InstantiationException ex) {
                Logger.getLogger(Interface.class.getName()).log(Level.SEVERE, null, ex);
            } catch (IllegalAccessException ex) {
                Logger.getLogger(Interface.class.getName()).log(Level.SEVERE, null, ex);
            }
  return rs; 
   }
}
